package com.ruoyi.demo.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单对象 auction_order
 *
 * @author metaee
 * @date 2025-02-24
 */
@ApiModel("订单对象")
public class AuctionOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单ID */
    private Long orderId;

    /** 商品ID */
    @ApiModelProperty("商品ID")
    @Excel(name = "商品ID")
    private Long goodsId;

    /** 卖家ID */
    @ApiModelProperty("卖家ID")
    @Excel(name = "卖家ID")
    private Long sellerId;

    /** 买家ID */
    @ApiModelProperty("买家ID")
    @Excel(name = "买家ID")
    private Long buyerId;

    /** 成交价格 */
    @ApiModelProperty("成交价格")
    @Excel(name = "成交价格")
    private BigDecimal finalPrice;

    /** 支付状态（0未支付 1已支付 2已退款） */
    @ApiModelProperty("支付状态")
    @Excel(name = "支付状态", readConverterExp = "0=未支付,1=已支付,2=已退款")
    private String payStatus;

    /** 订单状态（订单状态（0待付款 1已完成 2已取消）） */
    @ApiModelProperty("订单状态")
    @Excel(name = "订单状态", readConverterExp = "订单状态（0待付款 1已完成 2已取消）")
    private String orderStatus;

    /** 支付时间 */
    @ApiModelProperty("支付时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 发货时间 */
    @ApiModelProperty("发货时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryTime;

    /** 完成时间 */
    @ApiModelProperty("完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completeTime;

    /** 取消时间 */
    @ApiModelProperty("取消时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "取消时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cancelTime;

    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setGoodsId(Long goodsId)
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId()
    {
        return goodsId;
    }
    public void setSellerId(Long sellerId)
    {
        this.sellerId = sellerId;
    }

    public Long getSellerId()
    {
        return sellerId;
    }
    public void setBuyerId(Long buyerId)
    {
        this.buyerId = buyerId;
    }

    public Long getBuyerId()
    {
        return buyerId;
    }
    public void setFinalPrice(BigDecimal finalPrice)
    {
        this.finalPrice = finalPrice;
    }

    public BigDecimal getFinalPrice()
    {
        return finalPrice;
    }
    public void setPayStatus(String payStatus)
    {
        this.payStatus = payStatus;
    }

    public String getPayStatus()
    {
        return payStatus;
    }
    public void setOrderStatus(String orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus()
    {
        return orderStatus;
    }
    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }
    public void setDeliveryTime(Date deliveryTime)
    {
        this.deliveryTime = deliveryTime;
    }

    public Date getDeliveryTime()
    {
        return deliveryTime;
    }
    public void setCompleteTime(Date completeTime)
    {
        this.completeTime = completeTime;
    }

    public Date getCompleteTime()
    {
        return completeTime;
    }

    public void setCancelTime(Date cancelTime)
    {
        this.cancelTime = cancelTime;
    }

    public Date getCancelTime()
    {
        return cancelTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("goodsId", getGoodsId())
            .append("sellerId", getSellerId())
            .append("buyerId", getBuyerId())
            .append("finalPrice", getFinalPrice())
            .append("payStatus", getPayStatus())
            .append("orderStatus", getOrderStatus())
            .append("payTime", getPayTime())
            .append("deliveryTime", getDeliveryTime())
            .append("completeTime", getCompleteTime())
            .append("cancelTime", getCancelTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
